iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
AI & Data

作者超囉嗦,但一天只要十分鐘的MYSQL真.新手教學系列 第 13

第十三日-資料表建錯怎麼辦?別急,先學怎麼新增和刪除欄位

  • 分享至 

  • xImage
  •  

作者真的很囉唆.....系列名稱不是取假的

在很久很久以前,
有一群人建立了一個叫做student的資料表,
這群學生紛紛在裏頭填上自己的資料,
卻因為不想上課,
獨獨沒有填寫class這欄(誤)。

不知道你還有沒有印象,
在我們最初建立student時,
有個class VARCHAR(100)的欄位一直都沒有值(NULL),
我們現在除了student表,還有class表,
終於可以把class資料補進student了!

在補資料之前,有個問題:
我們的class表有id,subject,fee三個欄位,
哪個欄位是獨一無二的呢?

答案是id,id是class表的PK,也就是身份證字號,
如果我們在student表裡面填「這個人上的是800元的課」,
你一定會想問:「到底是哪堂??piano和vocal都是800元啊!」
這時,PK就很重要了!因為PK 不會重複、不能是NULL
每筆資料出生都一定會有自己的PK。

如果忘記資料表的PK,這裡有個語法可以幫忙找到PK:

SHOW KEYS FROM class WHERE Key_name = 'PRIMARY';

但是class表的id是數字,student表的class欄位是文字,
我想要讓他統一怎麼辦?
這時候就要ALTER TABLE,
ALTER TABLE更改資料的方式有很多,
我們先別急,
先來看看如何在已經建好的資料表上新增和刪除欄位!

  • TABLE新增欄位

從新增欄位開始學習,新增的欄位會在資料表的最末端,
語法是:

  1. 改變
  2. student資料表
  3. 新增
  4. 欄位名稱
  5. 欄位型態(Type)
  6. 欄位資料限制(Constraint) (可加可不加)

例如以下語法便是新增叫做temp的欄位,資料型態是INT。

ALTER TABLE student ADD temp INT ;
  • TABLE刪除欄位

刪除資料表欄位語法很簡單,
但要注意的是一但刪除欄位,
裡面的值也都會不見,
就算加一個名字一模一樣的資料欄位回來,
對資料表來說那是個新欄位,
並不會把資料還你喔!

刪除語法:

  1. 改變
  2. student資料表
  3. 刪除
  4. 欄位名稱
ALTER TABLE student DROP temp;

最近的感嘆:學完的知識要複習,新的知識要慢慢加上去,知識是累積的,才會穩固,以前常常半天看完全部教學,當下雖然跟著做都成功,但隔天忘光光,不如點點滴滴學,重要的是弄通觀念和重複練習,學習不能急。


上一篇
第十二日-資料篩選趴三:BETWEEN 、LIKE與NULL
下一篇
第十四日-資料表建錯怎麼辦? 欄位更改:MODIFY、CHANGE、RENAME
系列文
作者超囉嗦,但一天只要十分鐘的MYSQL真.新手教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言